﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.db2
{
	// Token: 0x020001EA RID: 490
	public class TDb2StatementDeclaration : TCustomDb2Stmt
	{
		// Token: 0x06001085 RID: 4229 RVA: 0x0030D081 File Offset: 0x0030B281
		public TDb2StatementDeclaration(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstdb2statementdeclaration;
		}

		// Token: 0x06001086 RID: 4230 RVA: 0x0030D095 File Offset: 0x0030B295
		internal override void buildsql()
		{
		}

		// Token: 0x06001087 RID: 4231 RVA: 0x0030D097 File Offset: 0x0030B297
		internal override void clear()
		{
		}

		// Token: 0x06001088 RID: 4232 RVA: 0x0030D099 File Offset: 0x0030B299
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06001089 RID: 4233 RVA: 0x0030D0A0 File Offset: 0x0030B2A0
		internal override void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x0600108A RID: 4234 RVA: 0x0030D0A4 File Offset: 0x0030B2A4
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			TDeclareSqlNode tdeclareSqlNode = (TDeclareSqlNode)this.rootNode;
			base.doParseStatement(psql);
			this.variables = tdeclareSqlNode.Variables;
			return 0;
		}

		// Token: 0x17000308 RID: 776
		// (get) Token: 0x0600108B RID: 4235 RVA: 0x0030D0DC File Offset: 0x0030B2DC
		// (set) Token: 0x0600108C RID: 4236 RVA: 0x0030D0E4 File Offset: 0x0030B2E4
		public virtual TDeclareVariableList Variables
		{
			get
			{
				return this.variables;
			}
			set
			{
				this.variables = value;
			}
		}

		// Token: 0x0600108D RID: 4237 RVA: 0x0030D0ED File Offset: 0x0030B2ED
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600108E RID: 4238 RVA: 0x0030D0FD File Offset: 0x0030B2FD
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this.variables.accept(v);
			v.postVisit(this);
		}

		// Token: 0x04001397 RID: 5015
		private TDeclareVariableList variables;
	}
}
